A barcode is a machine-readable representation of information. Barcodes are commonly used to identify products and/or to convey information about products.
FIG. 1 illustrates some exemplary barcodes. The EAN-codes (European Article Number codes) that are commonly used on consumables are represented by the example EAN-code 101. EAN-codes may, for example, be scanned at the counter of grocery stores. An EAN-code is an example of a one-dimensional barcode.
An example of a two-dimensional barcode is represented by the exemplary data matrix 102. This exemplary data matrix is built up by square modules.
Another exemplary barcode type is the OR-codes (Quick Response codes), which is another example of a two-dimensional barcode and is represented by the example OR-code 103. The QR-code is also built up by square modules. In FIG. 1, the modules are depicted as being black or white, but as long as there is acceptable contrast between the colors, any two colors may be used. A OR-code is surrounded by a margin, which is commonly referred to as the quiet zone or the safe zone. This margin may be four modules wide. Currently, QR-codes are widely used in Japan.
Barcodes may be read by optical scanners, such as laser-equipped scanners for EAN-codes, or scanned from an image by special software adapted to read barcodes of a particular type.
When a software program is used to scan a barcode in a photographic image, certain sharpness and resolution of the image may be required. This may impose requirements on the how the image is captured.
Currently, acquisition of the image that is used for barcode reading can be divided into user assisted image acquisition and automatic image acquisition.
In user assisted image acquisition, the user must perform some kind of action, for example pressing a key or button (take a snapshot), in order to capture the image containing the barcode. The requirement of user action makes such systems less user-friendly. In a typical situation, the user must hold the object with the barcode on with one hand, hold the phone/camera that is used to capture the image with the other hand and then press a small button on the phone/camera. This may be rather cumbersome. Furthermore, the act of pressing of the snapshot button may in itself create motion blur in the captured image, since the camera might be moved slightly when pressing the button.
In automatic image acquisition, an image acquisition system may continually capture images and process them in order to read barcodes. Thus, the user no longer has to press a button or key, which makes the system more user-friendly. However, requiring the capturing of a continuous stream of images implies other disadvantages. For example, it is not possible to use advanced image capturing features such as flash and/or auto-focus. Hence, the quality of automatically acquired images may be lower than user assisted acquired images.
Thus, both for user assisted image acquisition and automatic image acquisition, there is a severe risk that the image quality is rather bad. In fact, the quality may be so low so that barcode decoding is impossible. For user assisted image acquisition this may force the user to repeatedly try to capture an image of good enough quality. For automatic image acquisition the system may not respond with decoded information even when a barcode is present.
Therefore, there is a need for methods and arrangements for reading barcode information that are user-friendly and robust.